SnowballFight = {}
SnowballFight["ChanceToThrow"] = 50
SnowballFight["BaseChanceToDodge"] = 50
SnowballFight["BodySkillDodgeBonus"] = 5
SnowballFight["BodySkillAccuracyBonus"] = 5
SnowballFight["Idles"] = {}
SnowballFight["Idles"][2] = 20
SnowballFight["Idles"][3] = 20
SnowballFight["Idles"][4] = 20
SnowballFight["Idles"][5] = 20
SnowballFight["Idles"][6] = 20
SnowballFight["Dodges"] = {}
SnowballFight["Dodges"][7] = 20
SnowballFight["Dodges"][8] = 20
SnowballFight["Dodges"][9] = 20
SnowballFight["Dodges"][10] = 20
SnowballFight["Dodges"][11] = 20
SnowballFight["Hits"] = {}
SnowballFight["Hits"][12] = 25
SnowballFight["Hits"][13] = 25
SnowballFight["Hits"][14] = 25
SnowballFight["Hits"][15] = 25
SnowballFight["HitsExtra"] = {}
SnowballFight["HitsExtra"][12] = 15
SnowballFight["HitsExtra"][13] = 15
SnowballFight["HitsExtra"][14] = 15
SnowballFight["HitsExtra"][15] = 15
SnowballFight["HitsExtra"][16] = 40
SnowballFight["ThrowLeft"] = {}
SnowballFight["ThrowLeft"][18] = 50
SnowballFight["ThrowLeft"][21] = 50
SnowballFight["ThrowCenter"] = {}
SnowballFight["ThrowCenter"][19] = 50
SnowballFight["ThrowCenter"][22] = 50
SnowballFight["ThrowRight"] = {}
SnowballFight["ThrowRight"][20] = 50
SnowballFight["ThrowRight"][23] = 50
SnowballFight["TransLeft"] = {}
SnowballFight["TransLeft"][24] = 50
SnowballFight["TransLeft"][26] = 50
SnowballFight["TransRight"] = {}
SnowballFight["TransRight"][25] = 50
SnowballFight["TransRight"][27] = 50
SnowballFight["GUID_5x1"] = 841565389
SnowballFight["GUID_5x5"] = 1912891663
SnowballFight["GUID_8x8"] = -230947793
SnowballFight["GUID_Water_5x1"] = 1380788526
SnowballFight["GUID_Water_5x5"] = 843719085
SnowballFight["GUID_Water_8x8"] = -1303643843
SnowballFight["Color"] = {}
SnowballFight["Color"]["Red"] = 1
SnowballFight["Color"]["Green"] = 2
SnowballFight["Color"]["Yellow"] = 3
SnowballFight["Color"]["Blue"] = 4
SnowballFight["NumColors"] = 4
SnowballFight["Dir"] = {}
SnowballFight["Dir"]["Left"] = 1
SnowballFight["Dir"]["Center"] = 2
SnowballFight["Dir"]["Right"] = 3
SnowballFight["WaterFX"] = {}
SnowballFight["WaterFX"][1] = {}
SnowballFight["WaterFX"][2] = {}
SnowballFight["WaterFX"][3] = {}
SnowballFight["WaterFX"][4] = {}
SnowballFight["WaterFX"][1][1] = 1
SnowballFight["WaterFX"][1][2] = 2
SnowballFight["WaterFX"][1][3] = 3
SnowballFight["WaterFX"][2][1] = 4
SnowballFight["WaterFX"][2][2] = 5
SnowballFight["WaterFX"][2][3] = 6
SnowballFight["WaterFX"][3][1] = 7
SnowballFight["WaterFX"][3][2] = 8
SnowballFight["WaterFX"][3][3] = 9
SnowballFight["WaterFX"][4][1] = 10
SnowballFight["WaterFX"][4][2] = 11
SnowballFight["WaterFX"][4][3] = 12
SnowballFight["SnowFX"] = {}
SnowballFight["SnowFX"][1] = 13
SnowballFight["SnowFX"][2] = 14
SnowballFight["SnowFX"][3] = 15
SnowballFight["Constants"] = {}
SnowballFight["Constants"][SnowballFight["GUID_5x1"]] = {}
SnowballFight["Constants"][SnowballFight["GUID_5x1"]]["BlockSize"] = 4
SnowballFight["Constants"][SnowballFight["GUID_5x1"]]["NumSlots"] = 2
SnowballFight["Constants"][SnowballFight["GUID_Water_5x1"]] = {}
SnowballFight["Constants"][SnowballFight["GUID_Water_5x1"]]["BlockSize"] = 4
SnowballFight["Constants"][SnowballFight["GUID_Water_5x1"]]["NumSlots"] = 2
SnowballFight["Constants"][SnowballFight["GUID_5x5"]] = {}
SnowballFight["Constants"][SnowballFight["GUID_5x5"]]["BlockSize"] = 4
SnowballFight["Constants"][SnowballFight["GUID_5x5"]]["NumSlots"] = 8
SnowballFight["Constants"][SnowballFight["GUID_Water_5x5"]] = {}
SnowballFight["Constants"][SnowballFight["GUID_Water_5x5"]]["BlockSize"] = 4
SnowballFight["Constants"][SnowballFight["GUID_Water_5x5"]]["NumSlots"] = 8
SnowballFight["Constants"][SnowballFight["GUID_8x8"]] = {}
SnowballFight["Constants"][SnowballFight["GUID_8x8"]]["BlockSize"] = 4
SnowballFight["Constants"][SnowballFight["GUID_8x8"]]["NumSlots"] = 8
SnowballFight["Constants"][SnowballFight["GUID_Water_8x8"]] = {}
SnowballFight["Constants"][SnowballFight["GUID_Water_8x8"]]["BlockSize"] = 4
SnowballFight["Constants"][SnowballFight["GUID_Water_8x8"]]["NumSlots"] = 8

function function_357(param0, param1, param2, param3, param4, param5)
	param0 = {}
	local myvar_8 = 1
	local myvar_10 = 1
	for myvar_8=1, param2, myvar_10 do 
	param0[myvar_8] = 0
	end
	myvar_8 = param2 * SnowballFight["Constants"][param5]["BlockSize"]
	param1 = {}
	param4 = {}
	myvar_10 = myvar_8
	for 1=1, myvar_10, 1 do 
	param1[1] = 0
	param4[1] = 0
	end
	local myvar_9 = 1
	myvar_10 = SnowballFight["Constants"][param5]["NumSlots"]
	local myvar_11 = 1
	for myvar_9=1, myvar_10, myvar_11 do 
	param3[myvar_9] = 0
	end
	myvar_9 = param0
	myvar_10 = param1
	myvar_11 = param4
	return myvar_9, myvar_10, myvar_11
end

SnowballFight["Init"] = function_357

function function_360(param0, param1, param2, param3, param4, param5)
		if (param5 ~= SnowballFight["GUID_5x5"]) then
			if (param5 ~= SnowballFight["GUID_8x8"]) then
				if (param5 ~= SnowballFight["GUID_Water_5x5"]) then
					if (param5 == SnowballFight["GUID_Water_8x8"]) then
				else
					param1 = SnowballFight["PickMoves_5X5"](param0, param1, param2, param3, param4, param5)
				else
				end
			end
		end
			if (param5 ~= SnowballFight["GUID_5x1"]) then
				if (param5 == SnowballFight["GUID_Water_5x1"]) then
			else
				param1 = SnowballFight["PickMoves_5X1"](param0, param1, param2, param3, param4, param5)
			else
			end
			local myvar_7 = "ERROR: Calling Pick Moves with unknown GUID
"
			DebugPrint(myvar_7)
		end
	end
	myvar_7 = param4
	return param1, myvar_7
end

SnowballFight["PickMoves"] = function_360

function function_363(param0, param1, param2, param3, param4, param5)
	local myvar_6 = 0
	local myvar_7 = 0
	local myvar_14 = 0
	local myvar_15 = 0
	local myvar_16 = 0
	local myvar_17 = 0
	local myvar_18 = 0
	for loopvar1, loopvar2 in param0 do 
		if (0 < loopvar2) then
		myvar_6 = SnowballFight["GetMoveIndex"](loopvar1, param2, SnowballFight["Constants"][param5]["BlockSize"])
			if (param1[myvar_6] == 0) then
				if (SnowballFight["ShouldThrow"]() ~= 0) then 
	

				{R23},{R24},myvar_25 = SnowballFight["GetTarget"](param3, loopvar2, SnowballFight["Constants"][param5]["NumSlots"], param2, SnowballFight["Constants"][param5]["BlockSize"], param1, param0)
					if (SnowballFight["GetTarget"](param3, myvar_25, SnowballFight["Constants"][param5]["NumSlots"], param2, SnowballFight["Constants"][param5]["BlockSize"], param1, param0) ~= nil) then
					param1[myvar_6] = SnowballFight["GetTarget"](param3, myvar_25, SnowballFight["Constants"][param5]["NumSlots"], param2, SnowballFight["Constants"][param5]["BlockSize"], param1, param0)(param3, myvar_25, SnowballFight["Constants"][param5]["NumSlots"], param2, SnowballFight["Constants"][param5]["BlockSize"], param1, param0)
					myvar_25 = param5
					myvar_18 = SnowballFight["GetFightFX"](myvar_25, myvar_25)(myvar_25, myvar_25)
					myvar_17 = SnowballFight["GetFightFX"](myvar_25, myvar_25)
					param4[myvar_6] = myvar_17
					myvar_25 = SnowballFight["GetTarget"](param3, myvar_25, SnowballFight["Constants"][param5]["NumSlots"], param2, SnowballFight["Constants"][param5]["BlockSize"], param1, param0)
						if (SnowballFight["GetPlayerIndex"](param0, myvar_25) ~= nil) then
						myvar_25 = SnowballFight["Constants"][param5]["BlockSize"]
						myvar_14 = math["mod"]((param2 + 1), myvar_25)
						myvar_25 = myvar_14
						myvar_6 = SnowballFight["GetMoveIndex"](SnowballFight["GetPlayerIndex"](param0, myvar_25), myvar_25, SnowballFight["Constants"][param5]["BlockSize"])
						myvar_25 = loopvar2
							if (SnowballFight["CanDodge"](SnowballFight["GetTarget"](param3, myvar_25, SnowballFight["Constants"][param5]["NumSlots"], param2, SnowballFight["Constants"][param5]["BlockSize"], param1, param0), myvar_25) ~= 0) then 
	

							param1[myvar_6] = SnowballFight["PickAnimFromTable"](SnowballFight["Dodges"])
							param4[myvar_6] = myvar_18
						else
							myvar_25 = SnowballFight["GetTarget"](param3, myvar_25, SnowballFight["Constants"][param5]["NumSlots"], param2, SnowballFight["Constants"][param5]["BlockSize"], param1, param0)
								if (SnowballFight["OnCornerSlot"](param3, myvar_25) ~= 0) then 
	

								param1[myvar_6] = SnowballFight["PickAnimFromTable"](SnowballFight["HitsExtra"])
									if (param1[myvar_6] == 16) then
									myvar_25 = SnowballFight["Constants"][param5]["BlockSize"]
									myvar_14 = math["mod"]((param2 + 2), myvar_25)
									myvar_25 = myvar_14
									myvar_6 = SnowballFight["GetMoveIndex"](SnowballFight["GetPlayerIndex"](param0, myvar_25), myvar_25, SnowballFight["Constants"][param5]["BlockSize"])
									param1[myvar_6] = 17
								else
									param1[myvar_6] = SnowballFight["PickAnimFromTable"](SnowballFight["Hits"])
								else
									param1[myvar_6] = SnowballFight["PickAnimFromTable"](SnowballFight["Idles"])
								else
									myvar_25 = loopvar2
									myvar_16 = SnowballFight["GetMovementAnim"](param3, myvar_25, SnowballFight["Constants"][param5]["NumSlots"])
										if (myvar_16 ~= nil) then
										param1[myvar_6] = myvar_16
									else
										param1[myvar_6] = SnowballFight["PickAnimFromTable"](SnowballFight["Idles"])
									else
										myvar_25 = SnowballFight["Constants"][param5]["BlockSize"]
										myvar_14 = math["mod"]((param2 + 1), myvar_25)
										myvar_25 = myvar_14
										myvar_15 = SnowballFight["GetMoveIndex"](loopvar1, myvar_25, SnowballFight["Constants"][param5]["BlockSize"])
											if (param1[myvar_15] == 0) then
											myvar_25 = loopvar2
											myvar_16 = SnowballFight["GetRandomTrans"](param3, myvar_25, SnowballFight["Constants"][param5]["NumSlots"])
												if (myvar_16 ~= nil) then
												param1[myvar_6] = myvar_16
											else
												param1[myvar_6] = SnowballFight["PickAnimFromTable"](SnowballFight["Idles"])
											else
												myvar_23 = SnowballFight["PickAnimFromTable"](SnowballFight["Idles"])
												param1[myvar_6] = myvar_23
											end
										end
									end
								end
							end
						end
					end
				end
			end
		end
	end
	end
	return param1, param4
end

SnowballFight["PickMoves_5X5"] = function_363

function function_366(param0, param1, param2, param3, param4, param5)
	local myvar_6 = 0
	local myvar_7 = 0
	local myvar_14 = 0
	local myvar_15 = 0
	local myvar_16 = 1
	local myvar_17 = 2
	local myvar_18 = 1
	for myvar_16=1, myvar_17, myvar_18 do 
		if (0 < param0[myvar_16]) then
		myvar_6 = SnowballFight["GetMoveIndex"](myvar_16, param2, SnowballFight["Constants"][param5]["BlockSize"])
			if (param1[myvar_6] == 0) then
				if (SnowballFight["ShouldThrow"]() ~= 0) then 
	

				myvar_7 = SnowballFight["GetSlotIndex"](param3, param0[myvar_16], SnowballFight["Constants"][param5]["NumSlots"])
					if (myvar_7 == 1) then
				else
					local myvar_11 = 1
				end
					if (param3[myvar_11] ~= 0) then
					param1[myvar_6] = SnowballFight["PickAnimFromTable"](SnowballFight["ThrowCenter"])
					myvar_15 = SnowballFight["GetFightFX"](SnowballFight["Dir"]["Center"], param5)(SnowballFight["Dir"]["Center"], param5)
					myvar_14 = SnowballFight["GetFightFX"](SnowballFight["Dir"]["Center"], param5)
					param4[myvar_6] = myvar_14
						if (SnowballFight["GetPlayerIndex"](param0, param3[myvar_11]) ~= nil) then
						myvar_6 = SnowballFight["GetMoveIndex"](SnowballFight["GetPlayerIndex"](param0, param3[myvar_11]), math["mod"]((param2 + 1), SnowballFight["Constants"][param5]["BlockSize"]), SnowballFight["Constants"][param5]["BlockSize"])
							if (SnowballFight["CanDodge"](param3[myvar_11], param0[myvar_16]) ~= 0) then 
	

							param1[myvar_6] = SnowballFight["PickAnimFromTable"](SnowballFight["Dodges"])
							param4[myvar_6] = myvar_15
						else
							param1[myvar_6] = SnowballFight["PickAnimFromTable"](SnowballFight["Hits"])
						else
							param1[myvar_6] = SnowballFight["PickAnimFromTable"](SnowballFight["Idles"])
						else
							param1[myvar_6] = SnowballFight["PickAnimFromTable"](SnowballFight["Idles"])
						else
							myvar_19 = SnowballFight["PickAnimFromTable"](SnowballFight["Idles"])
							param1[myvar_6] = myvar_19
						end
					end
				end
			end
		end
	end
	end
	myvar_16 = param1
	myvar_17 = param4
	return myvar_16, myvar_17
end

SnowballFight["PickMoves_5X1"] = function_366

function function_369(param0, param1, param2)
	myvar_3 = SnowballFight["GetSlotIndex"](param0, param1, param2)
		if (param2 < (myvar_3 + 1)) then
		while (param0[myvar_4] == 0) do
			{R9},{R10},myvar_11 = SnowballFight["GetPossibleTargetSlots"](1, param2)
				if (param0[SnowballFight["GetPossibleTargetSlots"](1, myvar_11)] == 0) then
					if (param0[SnowballFight["GetPossibleTargetSlots"](1, myvar_11)(1, myvar_11)] == 0) then
						if (param0[myvar_11] ~= 0) then
					else
						return {R9}({R10}); //TAILCALL
						return 
					end
				end
			end
				if (param2 < (1 + 1)) then
				local myvar_4 = 1
			end
		end
			if (myvar_4 ~= myvar_3) then
		end
		myvar_4 = myvar_3
		myvar_4 = myvar_4 - 1
			if (myvar_4 < 1) then
			myvar_4 = param2
			while (param0[myvar_4] == 0) do
				myvar_11 = param2
				{R9},{R10},myvar_11 = SnowballFight["GetPossibleTargetSlots"](myvar_4, myvar_11)
					if (param0[SnowballFight["GetPossibleTargetSlots"](myvar_4, myvar_11)] == 0) then
						if (param0[SnowballFight["GetPossibleTargetSlots"](myvar_4, myvar_11)(myvar_4, myvar_11)] == 0) then
							if (param0[myvar_11] ~= 0) then
						else
							return {R9}({R10}); //TAILCALL
							return 
						end
					end
				end
				myvar_4 = myvar_4 - 1
					if (myvar_4 < 1) then
					myvar_4 = param2
				end
			end
				if (myvar_4 ~= myvar_3) then
			end
			return nil
end

SnowballFight["GetMovementAnim"] = function_369

function function_372(param0, param1, param2)
	local myvar_5 = 100
		if (50 <= math["random"](1, myvar_5)) then
		myvar_5 = param1
		myvar_3 = SnowballFight["GetSlotIndex"](param0, myvar_5, param2)
		myvar_5 = myvar_3 - 1
			if (param2 < (myvar_3 + 1)) then
			local myvar_4 = 1
		end
			if (myvar_5 < 1) then
			myvar_5 = param2
		end
			if (param0[myvar_5] == 0) then
			return {R6}({R7}); //TAILCALL
			return 
		end
			if (param0[myvar_4] == 0) then
			return {R6}({R7}); //TAILCALL
			return 
		end
	end
	myvar_3 = nil
	return myvar_3
end

SnowballFight["GetRandomTrans"] = function_372

function function_375(param0, param1, param2, param3, param4, param5, param6)
	local myvar_12 = 0
	local myvar_13 = 0
		if (SnowballFight["GetSlotIndex"](param0, param1, param2) ~= 1) then 
	

		return nil
	end
		if (param0[SnowballFight["GetPossibleTargetSlots"](SnowballFight["GetSlotIndex"](param0, param1, param2), param2)] ~= 0) then
			if (SnowballFight["CanBeThrownAt"](param0[SnowballFight["GetPossibleTargetSlots"](SnowballFight["GetSlotIndex"](param0, param1, param2), param2)], param3, param4, param5, param6) ~= 0) then 
	

			myvar_13 = SnowballFight["PickAnimFromTable"](SnowballFight["ThrowLeft"])
			; //SETLIST
			table["insert"]({}, {})
		end
	end
		if (param0[SnowballFight["GetPossibleTargetSlots"](SnowballFight["GetSlotIndex"](param0, param1, param2), param2)(SnowballFight["GetSlotIndex"](param0, param1, param2), param2)] ~= 0) then
			if (SnowballFight["CanBeThrownAt"](param0[SnowballFight["GetPossibleTargetSlots"](SnowballFight["GetSlotIndex"](param0, param1, param2), param2)(SnowballFight["GetSlotIndex"](param0, param1, param2), param2)], param3, param4, param5, param6) ~= 0) then 
	

			myvar_13 = SnowballFight["PickAnimFromTable"](SnowballFight["ThrowCenter"])
			; //SETLIST
			table["insert"]({}, {})
		end
	end
		if (param0[SnowballFight["GetPossibleTargetSlots"](SnowballFight["GetSlotIndex"](param0, param1, param2), param2)(SnowballFight["GetPossibleTargetSlots"](SnowballFight["GetSlotIndex"](param0, param1, param2), param2)(SnowballFight["GetSlotIndex"](param0, param1, param2), param2), param2)] ~= 0) then
			if (SnowballFight["CanBeThrownAt"](param0[SnowballFight["GetPossibleTargetSlots"](SnowballFight["GetSlotIndex"](param0, param1, param2), param2)(SnowballFight["GetPossibleTargetSlots"](SnowballFight["GetSlotIndex"](param0, param1, param2), param2)(SnowballFight["GetSlotIndex"](param0, param1, param2), param2), param2)], param3, param4, param5, param6) ~= 0) then 
	

			myvar_13 = SnowballFight["PickAnimFromTable"](SnowballFight["ThrowRight"])
			; //SETLIST
			table["insert"]({}, {})
		end
	end
	myvar_12 = table["getn"]({})
		if (0 < myvar_12) then
		myvar_15 = math["random"](1, myvar_12)
		return {}[myvar_15][1], {}[myvar_15][2], {}[myvar_15][3]
	else
		myvar_15 = nil
		return myvar_15
	end
end

SnowballFight["GetTarget"] = function_375

function function_378(param0, param1, param2, param3, param4)
		if (SnowballFight["GetPlayerIndex"](param4, param0) == nil) then
		return False
	end
		if (param3[SnowballFight["GetMoveIndex"](SnowballFight["GetPlayerIndex"](param4, param0), param1, param2)] == 16) then
		return False
	end
	for loopvar1, loopvar2 in SnowballFight["TransLeft"] do 
		if (loopvar1 == param3[SnowballFight["GetMoveIndex"](SnowballFight["GetPlayerIndex"](param4, param0), param1, param2)]) then
		return False
	end
	end
	for loopvar1, loopvar2 in SnowballFight["TransRight"] do 
		if (loopvar1 == param3[SnowballFight["GetMoveIndex"](SnowballFight["GetPlayerIndex"](param4, param0), param1, param2)]) then
		local myvar_12 = False
		return myvar_12
	end
	end
	local myvar_8 = True
	return myvar_8
end

SnowballFight["CanBeThrownAt"] = function_378

function function_381(param0, param1)
		if (param1 < (param0 + 3)) then
	end
		if (param1 < (param0 + 4)) then
	end
		if (param1 < (param0 + 5)) then
		myvar_5 = math["mod"]((param0 + 5), param1)
	end
	myvar_5 = math["mod"]((param0 + 3), param1)
	return myvar_5, math["mod"]((param0 + 4), param1), myvar_5
end

SnowballFight["GetPossibleTargetSlots"] = function_381

function function_384()
	local myvar_2 = 100
		if (math["random"](1, myvar_2) <= SnowballFight["ChanceToThrow"]) then
		return True
	else
		local myvar_0 = False
		return myvar_0
	end
end

SnowballFight["ShouldThrow"] = function_384

function function_387(param0, param1)
		if (100 < ((SnowballFight["BaseChanceToDodge"] + ((GetPersonData(param0, 17) / 100) * SnowballFight["BodySkillDodgeBonus"])) - ((GetPersonData(param1, 17) / 100) * SnowballFight["BodySkillAccuracyBonus"]))) then
	else
			if (100 < 0) then
			local myvar_2 = 0
		end
	end
	local myvar_7 = 1
	local myvar_8 = 100
		if (math["random"](myvar_7, myvar_8) <= myvar_2) then
		return True
	else
		local myvar_6 = False
		return myvar_6
	end
end

SnowballFight["CanDodge"] = function_387

function function_390(param0, param1, param2)
	local myvar_3 = 1
	local myvar_4 = 1
	myvar_5 = table["getn"](param0)
	for loopvar1, loopvar2 in param1 do 
	myvar_10 = SnowballFight["GetFreePlayerIndex"](param0)
	myvar_4 = myvar_10
		if (myvar_4 ~= 0) then 
	myvar_4 = myvar_4

		param0[myvar_4] = loopvar2
	end
	end
	param1 = {}
	return param0, param1
end

SnowballFight["UpdatePlayerList"] = function_390

function function_393(param0, param1)
	local myvar_7 = 1
	myvar_7 = math["random"](myvar_7, SnowballFight["Constants"][param1]["NumSlots"])
	while (myvar_6 ~= myvar_7) do
			if (param0[math["random"](myvar_7, SnowballFight["Constants"][param1]["NumSlots"])] == 0) then
			{R8},{R9},myvar_10 = SnowballFight["GetPossibleTargetSlots"](math["random"](myvar_7, SnowballFight["Constants"][param1]["NumSlots"]), SnowballFight["Constants"][param1]["NumSlots"])
				if (param0[SnowballFight["GetPossibleTargetSlots"](math["random"](myvar_7, SnowballFight["Constants"][param1]["NumSlots"]), myvar_10)] == 0) then
					if (param0[SnowballFight["GetPossibleTargetSlots"](math["random"](myvar_7, SnowballFight["Constants"][param1]["NumSlots"]), myvar_10)(math["random"](myvar_7, SnowballFight["Constants"][param1]["NumSlots"]), myvar_10)] == 0) then
						if (param0[myvar_10] ~= 0) then
					else
						return math["random"](myvar_7, SnowballFight["Constants"][param1]["NumSlots"])
					end
				end
			end
		end
			if (SnowballFight["Constants"][param1]["NumSlots"] < (math["random"](myvar_7, SnowballFight["Constants"][param1]["NumSlots"]) + 1)) then
			local myvar_6 = 1
		end
	end
	local myvar_9 = 1
	myvar_10 = SnowballFight["Constants"][param1]["NumSlots"]
	return {R8}({R9}, ..., {R10}); //TAILCALL
	return 
end

SnowballFight["GetFightSlot"] = function_393

function function_396(param0, param1)
	myvar_2 = SnowballFight["GetPlayerIndex"](param0, param1)
		if (myvar_2 ~= 0) then 
	myvar_2 = myvar_2

		param0[myvar_2] = 0
	end
	return param0
end

SnowballFight["RemovePlayer"] = function_396

function function_399(param0, param1, param2)
	local myvar_3 = 1
	local myvar_5 = 1
	for myvar_3=1, param2, myvar_5 do 
		if (param0[myvar_3] == param1) then
		return myvar_3
	end
	end
	myvar_3 = nil
	return myvar_3
end

SnowballFight["GetSlotIndex"] = function_399

function function_402(param0, param1)
	for loopvar1, loopvar2 in param0 do 
		if (loopvar2 == param1) then
		return loopvar1
	end
	end
	return nil
end

SnowballFight["GetPlayerIndex"] = function_402

function function_405(param0)
	for loopvar1, loopvar2 in param0 do 
		if (loopvar2 == 0) then
		return loopvar1
	end
	end
	return nil
end

SnowballFight["GetFreePlayerIndex"] = function_405

function function_408(param0, param1, param2)
	return ((((param0 - 1) * param2) + param1) + 1)
end

SnowballFight["GetMoveIndex"] = function_408

function function_411(param0)
	local myvar_1 = 0
	local myvar_4 = 100
	myvar_2 = math["random"](1, myvar_4)
	local myvar_3 = 0
	myvar_4 = param0
	for loopvar1, loopvar2 in myvar_4 do 
	myvar_3 = loopvar1
	myvar_1 = myvar_1 + loopvar2
		if (myvar_2 <= myvar_1) then
		return loopvar1
	end
	end
	return myvar_3
end

SnowballFight["PickAnimFromTable"] = function_411

function function_414(param0, param1)
	for loopvar1, loopvar2 in param0 do 
		if (loopvar2 == param1) then
		local myvar_6 = True
		return myvar_6
	end
	end
	local myvar_2 = False
	return myvar_2
end

SnowballFight["IsSimInPlayerList"] = function_414

function function_417(param0, param1)
	myvar_3 = math["mod"]((param0 + 1), SnowballFight["Constants"][param1]["BlockSize"])
	param0 = myvar_3
	return param0
end

SnowballFight["IncBlockIndex"] = function_417

function function_420(param0, param1, param2)
	local myvar_4 = 1
	local myvar_6 = 1
	for myvar_4=1, SnowballFight["Constants"][param2]["NumSlots"], myvar_6 do 
		if (param0[myvar_4] == param1) then
		return myvar_4
	end
	end
	myvar_4 = nil
	return myvar_4
end

SnowballFight["GetPlayersSlot"] = function_420

function function_423(param0, param1)
	myvar_3 = table["getn"](param0)
		if (SnowballFight["GetSlotIndex"](param0, param1, myvar_3) ~= 2) then
			if (SnowballFight["GetSlotIndex"](param0, param1, myvar_3) ~= 4) then
				if (SnowballFight["GetSlotIndex"](param0, param1, myvar_3) ~= 6) then
					if (SnowballFight["GetSlotIndex"](param0, param1, myvar_3) == 8) then
				else
					return True
				else
				end
			end
		end
		local myvar_4 = False
		return myvar_4
	end
end

SnowballFight["OnCornerSlot"] = function_423

function function_426(param0, param1)
		if (param1 ~= SnowballFight["GUID_Water_5x5"]) then
			if (param1 ~= SnowballFight["GUID_Water_8x8"]) then
				if (param1 == SnowballFight["GUID_Water_5x1"]) then
			else
			else
			end
		end
		local myvar_2 = -1
	end
	return myvar_2, SnowballFight["SnowFX"][param0]
end

SnowballFight["GetFightFX"] = function_426

function function_429(param0, param1, param2, param3)
	myvar_4 = nWorld["GetLotSizeX"]()
	myvar_5 = nWorld["GetLotSizeY"]()
	myvar_6,myvar_7,{R8} = nWorld["GetObjectLocation"](param1)
	myvar_6 = math["floor"](myvar_6)
	myvar_13 = math["floor"](myvar_7)
	myvar_7 = myvar_13
		if (param2 == 9) then
	else
		local myvar_11 = 2
		local myvar_12 = 2
	end
	myvar_13 = myvar_6
	local myvar_15 = False
	local myvar_8 = 0
	while (myvar_13 <= (myvar_4 - myvar_11)) do
		while ((myvar_7 + 1) <= (myvar_5 - myvar_12)) do
			myvar_15 = SnowballFight["TryPlaceFightObjOn"](param0, myvar_13, myvar_7, myvar_8, param3)
				if (myvar_15 == True) then
				return True
			end
		end
		while (myvar_12 <= (myvar_7 - 1)) do
			myvar_15 = SnowballFight["TryPlaceFightObjOn"](param0, myvar_13, myvar_7, myvar_8, param3)
				if (myvar_15 == True) then
				return True
			end
		end
		myvar_13 = myvar_13 + 1
	end
	myvar_13 = myvar_6
	while (myvar_11 <= myvar_13) do
		while ((myvar_7 + 1) <= (myvar_5 - myvar_12)) do
			myvar_15 = SnowballFight["TryPlaceFightObjOn"](param0, myvar_13, myvar_7, myvar_8, param3)
				if (myvar_15 == True) then
				return True
			end
		end
		while (myvar_12 <= (myvar_7 - 1)) do
			myvar_15 = SnowballFight["TryPlaceFightObjOn"](param0, myvar_13, myvar_7, myvar_8, param3)
				if (myvar_15 == True) then
				return True
			end
		end
		myvar_13 = myvar_13 - 1
	end
	local myvar_16 = False
	return myvar_16
end

SnowballFight["PlaceFightObject"] = function_429

function function_432(param0, param1, param2, param3, param4)
		if (nWorld["IsLocked"](param1, param2, param3) ~= 0) then 
	

		return False
	end
		if (param4 == True) then
			if (nWorld["GetSnowAccumulationLevelOnTile"](param1, param2, param3) < 2) then
			local myvar_6 = False
			return myvar_6
		end
	end
	myvar_6 = param0
	return {R5}({R6}, ..., {R9}); //TAILCALL
	return 
end

SnowballFight["TryPlaceFightObjOn"] = function_432

function function_435(param0, param1)
	myvar_2 = nWorld["GetLotSizeX"]()
	myvar_3 = nWorld["GetLotSizeY"]()
	myvar_4,myvar_5,myvar_6 = nWorld["GetObjectLocation"](param1)
	myvar_4 = math["floor"](myvar_4)
	myvar_7 = math["floor"](myvar_5)
	myvar_5 = myvar_7
	myvar_7 = myvar_2 - 5
	local myvar_11 = False
	local myvar_14 = 1
	for 4=4, myvar_7, myvar_14 do 
	local myvar_15 = 4
	local myvar_17 = 1
	for myvar_15=4, (myvar_3 - 5), myvar_17 do 
	local myvar_22 = 0
	myvar_11 = SnowballFight["TryPlaceFightObjOn"](param0, 4, myvar_15, myvar_22)
		if (myvar_11 == True) then
		local myvar_18 = True
		return myvar_18
	end
	end
	end
	local myvar_12 = False
	return myvar_12
end

SnowballFight["Place8x8_old"] = function_435
